/**
 * @file 
 */
#include "StdAfx.h"
#include "NTEngine/Scene/Font.h"
#include "Scene/src/FontImpl.h"
#include "Scene/src/FontImplOs.h"

namespace NTEngine {
namespace Scene {

Font Font::create(
	const char* osFontName,
	int charHeight,
	bool bold,
	bool italic,
	bool proportional,
	bool antialias,
	int internalTextureWidth,
	int internalTextureHeight
) {
	Font instance;
	instance.m_Impl = NEW FontImplOs(
		osFontName,
		charHeight,
		bold,
		italic,
		proportional,
		antialias,
		internalTextureWidth,
		internalTextureHeight
		);
	return instance;
}

bool Font::getChar(
	Texture* t,
	Vector2* uv0,
	Vector2* uv1,
	int c
) {
	ASSERT( m_Impl && "Empth Object" );
	return m_Impl->getChar( t, uv0, uv1, c );
}

int Font::charHeight() const {
	ASSERT( m_Impl && "Empty Object" );
	return m_Impl->charHeight();
}

#define TYPE Font
#include "NTEngine/Base/Impl/ReferenceTypeTemplate.h"

} // namespace Scene
} // namespace NTEngine
// EOF